package com.bs.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.io.File;
import java.io.IOException;
import java.util.UUID;

@Controller

public class AdminController {

    //跳转到登录页面
    @RequestMapping("/tologin.do")
    public String toLogin(){
        System.out.println("执行了去登录的操作");
        return "login";
    }


    @RequestMapping("/login.do")
    public  String login(HttpServletRequest request, String user, String pwd, MultipartFile pic, Model  model){
    //springmvc 文件上传是参数获取一定不能通过 request 获取
        System.out.println(user+"\t:"+pwd);
        String user2 = request.getParameter("user");
        System.out.println("req:"+user2);

        //开始执行文件上传
        //获取文件上传的目录
        String path = request.getSession().getServletContext().getRealPath("upload");
        //判断path 路径是否存在，如果不在，创建该目录
        //为了防止出现文件覆盖，每次生成一个uuID
        String uuid = UUID.randomUUID().toString();
        System.out.println("uuid:"+uuid);
        uuid = uuid.replace("—","");
        System.out.println("uuid:"+uuid);

        File filePath= new File(path,uuid);
        if (!filePath.exists()){
            //如果不存在，创建文件夹
            filePath.mkdirs();
        }
        //执行文件上传
        //获取文件名
        String fileName = pic.getOriginalFilename();
        //创建对应的目标文件
        File newFile = new File(filePath,fileName);
        //文件上传
        try {
            System.out.println("开始文件上传");
            pic.transferTo(newFile);
            System.out.println("上传成功");
        } catch (IOException e) {
            System.out.println("上传失败");
            e.printStackTrace();
        }

        //如果用户名和密码不为空，并且用户名和密码都是admin 代表登录否则登陆失败
        if (StringUtils.isEmpty(user)&& !StringUtils.isEmpty(pwd) && user.equals("admin") && pwd.equals("admin")){
            //登陆成功
            System.out.println("登陆成功");
             HttpSession session =request.getSession();
             session.setAttribute("user",user);
             //  把图片路径放入 Model中
            String picPath= "upload/"+uuid+"/"+fileName;
            model.addAttribute("picPath:"+picPath);
            //去学生列表页面
           // return "redirect:/stu.do";
            //转发到学生列表页面
            return "list";

        }

        return "redirect:/tologin.do";

    }

}
